package Game;
/**
 * CharacterType.java
 * 
 * The enumerated types listed below are the available professions 
 * for characters in the Team Mexican Buzz implementation of Oregon Trail.
 * Our game has five player types, and the sixth (Mexican) is reserved for 
 * non playable characters
 * Each player type has a starting amount of money as given below ( the value 
 * next to the enumerated type )
 * 
 * @author Ray DeCuir
 * @version 1.0
 */
public enum CharacterType {

	// The five different types of player classes and the amount of money each starts with
	DRUGDEALER (1600, 75, 1, .9),
	MOESEMPLOYEE (1200, 10, 2, 0.8),
	WRESTLER(400, 20, 2, 1.4),
	JANITOR (600, 50, 3, 1),
	MECHANIC (800, 10, 5, 1),
	
	// This type is reserved for non playable character types
	MEXICAN (200, 10, 1 , 1);
	
	// This integer represents the amount of money that each type starts with
	private int startingMoney, thiefSuccess, dailyValue;
	
	// multiplier to be used when calculating food consumption
	private double consumptionMulti;
	
	
	/**
	 * Enumerated type constructor that sets the initial amount of money for each character type
	 * 
	 * @param startingMoney The starting money for the particular player type
	 * @param thiefSuccess The percent successfulness of the person sealing from a store
	 */
	private CharacterType(int startingMoney, int thiefSuccess, int dailyValue, double consumptionMulti)
	{
		this.startingMoney = startingMoney;
		this.thiefSuccess = thiefSuccess;
		this.dailyValue = dailyValue;
		this.consumptionMulti = consumptionMulti;
	}
	
	
	/**
	 * getStartingMoney
	 * 
	 * This method returns the starting money for each character type 
	 * 
	 * @return The character's starting money
	 */
	public int getStartingMoney()
	{
		return startingMoney;
	}


	public int getPercentThief() {
		return thiefSuccess;
	}
	
	public int getDailyValue() {
		return dailyValue;
	}


	/**
	 * @return the consumptionMulti
	 */
	public double getConsumptionMulti() {
		return consumptionMulti;
	}
}
